/*
 * This file is part of CSSEng
 * Licensed under the MIT License,
 *                http://www.opensource.org/licenses/mit-license.php
 * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
 * Copyright (C) 2021, 2024 Beijing FMSoft Technologies Co., Ltd.
 */

#ifndef libcss_properties_h_
#define libcss_properties_h_

#ifdef __cplusplus
extern "C"
{
#endif

enum css_properties_e {
	CSS_PROP_AZIMUTH			= 0x000,
	CSS_PROP_BACKGROUND_ATTACHMENT		= 0x001,
	CSS_PROP_BACKGROUND_COLOR		= 0x002,
	CSS_PROP_BACKGROUND_IMAGE		= 0x003,
	CSS_PROP_BACKGROUND_POSITION		= 0x004,
	CSS_PROP_BACKGROUND_REPEAT		= 0x005,
	CSS_PROP_BORDER_COLLAPSE		= 0x006,
	CSS_PROP_BORDER_SPACING			= 0x007,
	CSS_PROP_BORDER_TOP_COLOR		= 0x008,
	CSS_PROP_BORDER_RIGHT_COLOR		= 0x009,
	CSS_PROP_BORDER_BOTTOM_COLOR		= 0x00a,
	CSS_PROP_BORDER_LEFT_COLOR		= 0x00b,
	CSS_PROP_BORDER_TOP_STYLE		= 0x00c,
	CSS_PROP_BORDER_RIGHT_STYLE		= 0x00d,
	CSS_PROP_BORDER_BOTTOM_STYLE		= 0x00e,
	CSS_PROP_BORDER_LEFT_STYLE		= 0x00f,
	CSS_PROP_BORDER_TOP_WIDTH		= 0x010,
	CSS_PROP_BORDER_RIGHT_WIDTH		= 0x011,
	CSS_PROP_BORDER_BOTTOM_WIDTH		= 0x012,
	CSS_PROP_BORDER_LEFT_WIDTH		= 0x013,
	CSS_PROP_BOTTOM				= 0x014,
	CSS_PROP_CAPTION_SIDE			= 0x015,
	CSS_PROP_CLEAR				= 0x016,
	CSS_PROP_CLIP				= 0x017,
	CSS_PROP_COLOR				= 0x018,
	CSS_PROP_CONTENT			= 0x019,
	CSS_PROP_COUNTER_INCREMENT		= 0x01a,
	CSS_PROP_COUNTER_RESET			= 0x01b,
	CSS_PROP_CUE_AFTER			= 0x01c,
	CSS_PROP_CUE_BEFORE			= 0x01d,
	CSS_PROP_CURSOR				= 0x01e,
	CSS_PROP_DIRECTION			= 0x01f,
	CSS_PROP_DISPLAY			= 0x020,
	CSS_PROP_ELEVATION			= 0x021,
	CSS_PROP_EMPTY_CELLS			= 0x022,
	CSS_PROP_FLOAT				= 0x023,
	CSS_PROP_FONT_FAMILY			= 0x024,
	CSS_PROP_FONT_SIZE			= 0x025,
	CSS_PROP_FONT_STYLE			= 0x026,
	CSS_PROP_FONT_VARIANT			= 0x027,
	CSS_PROP_FONT_WEIGHT			= 0x028,
	CSS_PROP_HEIGHT				= 0x029,
	CSS_PROP_LEFT				= 0x02a,
	CSS_PROP_LETTER_SPACING			= 0x02b,
	CSS_PROP_LINE_HEIGHT			= 0x02c,
	CSS_PROP_LIST_STYLE_IMAGE		= 0x02d,
	CSS_PROP_LIST_STYLE_POSITION		= 0x02e,
	CSS_PROP_LIST_STYLE_TYPE		= 0x02f,
	CSS_PROP_MARGIN_TOP			= 0x030,
	CSS_PROP_MARGIN_RIGHT			= 0x031,
	CSS_PROP_MARGIN_BOTTOM			= 0x032,
	CSS_PROP_MARGIN_LEFT			= 0x033,
	CSS_PROP_MAX_HEIGHT			= 0x034,
	CSS_PROP_MAX_WIDTH			= 0x035,
	CSS_PROP_MIN_HEIGHT			= 0x036,
	CSS_PROP_MIN_WIDTH			= 0x037,
	CSS_PROP_ORPHANS			= 0x038,
	CSS_PROP_OUTLINE_COLOR			= 0x039,
	CSS_PROP_OUTLINE_STYLE			= 0x03a,
	CSS_PROP_OUTLINE_WIDTH			= 0x03b,
	CSS_PROP_OVERFLOW_X			= 0x03c,
	CSS_PROP_PADDING_TOP			= 0x03d,
	CSS_PROP_PADDING_RIGHT			= 0x03e,
	CSS_PROP_PADDING_BOTTOM			= 0x03f,
	CSS_PROP_PADDING_LEFT			= 0x040,
	CSS_PROP_PAGE_BREAK_AFTER		= 0x041,
	CSS_PROP_PAGE_BREAK_BEFORE		= 0x042,
	CSS_PROP_PAGE_BREAK_INSIDE		= 0x043,
	CSS_PROP_PAUSE_AFTER			= 0x044,
	CSS_PROP_PAUSE_BEFORE			= 0x045,
	CSS_PROP_PITCH_RANGE			= 0x046,
	CSS_PROP_PITCH				= 0x047,
	CSS_PROP_PLAY_DURING			= 0x048,
	CSS_PROP_POSITION			= 0x049,
	CSS_PROP_QUOTES				= 0x04a,
	CSS_PROP_RICHNESS			= 0x04b,
	CSS_PROP_RIGHT				= 0x04c,
	CSS_PROP_SPEAK_HEADER			= 0x04d,
	CSS_PROP_SPEAK_NUMERAL			= 0x04e,
	CSS_PROP_SPEAK_PUNCTUATION		= 0x04f,
	CSS_PROP_SPEAK				= 0x050,
	CSS_PROP_SPEECH_RATE			= 0x051,
	CSS_PROP_STRESS				= 0x052,
	CSS_PROP_TABLE_LAYOUT			= 0x053,
	CSS_PROP_TEXT_ALIGN			= 0x054,
	CSS_PROP_TEXT_DECORATION		= 0x055,
	CSS_PROP_TEXT_INDENT			= 0x056,
	CSS_PROP_TEXT_TRANSFORM			= 0x057,
	CSS_PROP_TOP				= 0x058,
	CSS_PROP_UNICODE_BIDI			= 0x059,
	CSS_PROP_VERTICAL_ALIGN			= 0x05a,
	CSS_PROP_VISIBILITY			= 0x05b,
	CSS_PROP_VOICE_FAMILY			= 0x05c,
	CSS_PROP_VOLUME				= 0x05d,
	CSS_PROP_WHITE_SPACE			= 0x05e,
	CSS_PROP_WIDOWS				= 0x05f,
	CSS_PROP_WIDTH				= 0x060,
	CSS_PROP_WORD_SPACING			= 0x061,
	CSS_PROP_Z_INDEX			= 0x062,
	CSS_PROP_OPACITY			= 0x063,
	CSS_PROP_BREAK_AFTER			= 0x064,
	CSS_PROP_BREAK_BEFORE			= 0x065,
	CSS_PROP_BREAK_INSIDE			= 0x066,
	CSS_PROP_COLUMN_COUNT			= 0x067,
	CSS_PROP_COLUMN_FILL			= 0x068,
	CSS_PROP_COLUMN_GAP			= 0x069,
	CSS_PROP_COLUMN_RULE_COLOR		= 0x06a,
	CSS_PROP_COLUMN_RULE_STYLE		= 0x06b,
	CSS_PROP_COLUMN_RULE_WIDTH		= 0x06c,
	CSS_PROP_COLUMN_SPAN			= 0x06d,
	CSS_PROP_COLUMN_WIDTH			= 0x06e,
	CSS_PROP_WRITING_MODE			= 0x06f,
	CSS_PROP_OVERFLOW_Y			= 0x070,
	CSS_PROP_BOX_SIZING			= 0x071,
	CSS_PROP_ALIGN_CONTENT			= 0x072,
	CSS_PROP_ALIGN_ITEMS			= 0x073,
	CSS_PROP_ALIGN_SELF			= 0x074,
	CSS_PROP_FLEX_BASIS			= 0x075,
	CSS_PROP_FLEX_DIRECTION			= 0x076,
	CSS_PROP_FLEX_GROW			= 0x077,
	CSS_PROP_FLEX_SHRINK			= 0x078,
	CSS_PROP_FLEX_WRAP			= 0x079,
	CSS_PROP_JUSTIFY_CONTENT		= 0x07a,
	CSS_PROP_ORDER				= 0x07b,
	CSS_PROP_GRID_TEMPLATE_COLUMNS	= 0x7c,
	CSS_PROP_GRID_TEMPLATE_ROWS	    = 0x7d,
	CSS_PROP_GRID_COLUMN_START	    = 0x7e,
	CSS_PROP_GRID_COLUMN_END	    = 0x7f,
	CSS_PROP_GRID_ROW_START	    = 0x80,
	CSS_PROP_GRID_ROW_END	    = 0x81,
	CSS_PROP_BORDER_TOP_LEFT_RADIUS =  0x82,
	CSS_PROP_BORDER_TOP_RIGHT_RADIUS = 0x83,
	CSS_PROP_BORDER_BOTTOM_LEFT_RADIUS = 0x84,
	CSS_PROP_BORDER_BOTTOM_RIGHT_RADIUS = 0x85,
	CSS_PROP_TEXT_ALIGN_LAST = 0x86,
	CSS_PROP_TEXT_JUSTIFY = 0x87,
	CSS_PROP_TEXT_OVERFLOW = 0x88,
	CSS_PROP_TEXT_SHADOW = 0x89,
	CSS_PROP_WORD_BREAK = 0x8a,
	CSS_PROP_WORD_WRAP = 0x8b,
	CSS_PROP_BASELINE_SHIFT = 0x8c,
	CSS_PROP_CLIP_PATH = 0x8d,
	CSS_PROP_CLIP_RULE = 0x8e,
	CSS_PROP_COMP_OP = 0x8f,
	CSS_PROP_ENABLE_BACKGROUND = 0x90,
	CSS_PROP_FILL = 0x91,
	CSS_PROP_FILL_OPACITY = 0x92,
	CSS_PROP_FILL_RULE = 0x93,
	CSS_PROP_FILTER = 0x94,
	CSS_PROP_FLOOD_COLOR = 0x95,
	CSS_PROP_FLOOD_OPACITY = 0x96,
	CSS_PROP_FONT_STRETCH = 0x97,
	CSS_PROP_MARKER_START = 0x98,
	CSS_PROP_MARKER_MID = 0x99,
	CSS_PROP_MARKER_END = 0x9a,
	CSS_PROP_MASK = 0x9b,
	CSS_PROP_SHAPE_RENDERING = 0x9c,
	CSS_PROP_STOP_COLOR = 0x9d,
	CSS_PROP_STOP_OPACITY = 0x9e,
	CSS_PROP_STROKE = 0x9f,
	CSS_PROP_STROKE_WIDTH = 0xa0,
	CSS_PROP_STROKE_OPACITY = 0xa1,
	CSS_PROP_STROKE_DASHARRAY = 0xa2,
	CSS_PROP_STROKE_DASHOFFSET = 0xa3,
	CSS_PROP_STROKE_LINECAP = 0xa4,
	CSS_PROP_STROKE_LINEJOIN = 0xa5,
	CSS_PROP_STROKE_MITERLIMIT = 0xa6,
	CSS_PROP_TEXT_ANCHOR = 0xa7,
	CSS_PROP_TEXT_RENDERING = 0xa8,
	CSS_PROP_TRANSFORM = 0xa9,
	CSS_PROP_LINE_BREAK = 0xaa,
	CSS_PROP_APPEARANCE = 0xab,
	CSS_PROP_FOIL_COLOR_INFO = 0xac,
	CSS_PROP_FOIL_COLOR_WARNING = 0xad,
	CSS_PROP_FOIL_COLOR_DANGER = 0xae,
	CSS_PROP_FOIL_COLOR_SUCCESS = 0xaf,
	CSS_PROP_FOIL_COLOR_PRIMARY = 0xb0,
	CSS_PROP_FOIL_COLOR_SECONDARY = 0xb1,
	CSS_PROP_FOIL_CANDIDATE_MARKS = 0xb2,
	CSS_PROP_BACKGROUND_SIZE = 0xb3,

	CSS_N_PROPERTIES
};

enum css_color_e {
	CSS_COLOR_INHERIT			= 0x0,
	CSS_COLOR_DEFAULT			= 0x1,
	CSS_COLOR_COLOR				= 0x2,
	CSS_COLOR_CURRENT_COLOR		= 0x3,
};

enum css_align_content_e {
	CSS_ALIGN_CONTENT_INHERIT		= 0x0,
	CSS_ALIGN_CONTENT_STRETCH		= 0x1,
	CSS_ALIGN_CONTENT_FLEX_START		= 0x2,
	CSS_ALIGN_CONTENT_FLEX_END		= 0x3,
	CSS_ALIGN_CONTENT_CENTER		= 0x4,
	CSS_ALIGN_CONTENT_SPACE_BETWEEN		= 0x5,
	CSS_ALIGN_CONTENT_SPACE_AROUND		= 0x6,
	CSS_ALIGN_CONTENT_SPACE_EVENLY		= 0x7
};

enum css_align_items_e {
	CSS_ALIGN_ITEMS_INHERIT			= 0x0,
	CSS_ALIGN_ITEMS_STRETCH			= 0x1,
	CSS_ALIGN_ITEMS_FLEX_START		= 0x2,
	CSS_ALIGN_ITEMS_FLEX_END		= 0x3,
	CSS_ALIGN_ITEMS_CENTER			= 0x4,
	CSS_ALIGN_ITEMS_BASELINE		= 0x5
};

enum css_align_self_e {
	CSS_ALIGN_SELF_INHERIT			= 0x0,
	CSS_ALIGN_SELF_STRETCH			= 0x1,
	CSS_ALIGN_SELF_FLEX_START		= 0x2,
	CSS_ALIGN_SELF_FLEX_END			= 0x3,
	CSS_ALIGN_SELF_CENTER			= 0x4,
	CSS_ALIGN_SELF_BASELINE			= 0x5,
	CSS_ALIGN_SELF_AUTO			= 0x6
};

enum css_background_attachment_e {
	CSS_BACKGROUND_ATTACHMENT_INHERIT	= 0x0,
	CSS_BACKGROUND_ATTACHMENT_FIXED		= 0x1,
	CSS_BACKGROUND_ATTACHMENT_SCROLL	= 0x2
};

enum css_background_color_e {
	CSS_BACKGROUND_COLOR_INHERIT		= CSS_COLOR_INHERIT,
	CSS_BACKGROUND_COLOR_DEFAULT	= CSS_COLOR_DEFAULT,
	CSS_BACKGROUND_COLOR_CURRENT_COLOR	= CSS_COLOR_CURRENT_COLOR,
	CSS_BACKGROUND_COLOR_COLOR		= CSS_COLOR_COLOR,
};

enum css_background_image_e {
	CSS_BACKGROUND_IMAGE_INHERIT		= 0x0,
	/* Consult pointer in struct to determine which */
	CSS_BACKGROUND_IMAGE_NONE		= 0x1,
	CSS_BACKGROUND_IMAGE_IMAGE		= 0x1
};

enum css_background_position_e {
	CSS_BACKGROUND_POSITION_INHERIT		= 0x0,
	CSS_BACKGROUND_POSITION_SET		= 0x1
};

enum css_background_repeat_e {
	CSS_BACKGROUND_REPEAT_INHERIT		= 0x0,
	CSS_BACKGROUND_REPEAT_REPEAT_X		= 0x1,
	CSS_BACKGROUND_REPEAT_REPEAT_Y		= 0x2,
	CSS_BACKGROUND_REPEAT_REPEAT		= 0x3,
	CSS_BACKGROUND_REPEAT_NO_REPEAT		= 0x4
};

enum css_border_collapse_e {
	CSS_BORDER_COLLAPSE_INHERIT		= 0x0,
	CSS_BORDER_COLLAPSE_SEPARATE		= 0x1,
	CSS_BORDER_COLLAPSE_COLLAPSE		= 0x2
};

enum css_border_spacing_e {
	CSS_BORDER_SPACING_INHERIT		= 0x0,
	CSS_BORDER_SPACING_SET			= 0x1
};

enum css_border_color_e {
	CSS_BORDER_COLOR_INHERIT		= CSS_COLOR_INHERIT,
	CSS_BORDER_COLOR_DEFAULT		= CSS_COLOR_DEFAULT,
	CSS_BORDER_COLOR_CURRENT_COLOR	= CSS_COLOR_CURRENT_COLOR,
	CSS_BORDER_COLOR_COLOR			= CSS_COLOR_COLOR,
};

enum css_border_style_e {
	CSS_BORDER_STYLE_INHERIT		= 0x0,
	CSS_BORDER_STYLE_NONE			= 0x1,
	CSS_BORDER_STYLE_HIDDEN			= 0x2,
	CSS_BORDER_STYLE_DOTTED			= 0x3,
	CSS_BORDER_STYLE_DASHED			= 0x4,
	CSS_BORDER_STYLE_SOLID			= 0x5,
	CSS_BORDER_STYLE_DOUBLE			= 0x6,
	CSS_BORDER_STYLE_GROOVE			= 0x7,
	CSS_BORDER_STYLE_RIDGE			= 0x8,
	CSS_BORDER_STYLE_INSET			= 0x9,
	CSS_BORDER_STYLE_OUTSET			= 0xa
};

enum css_border_width_e {
	CSS_BORDER_WIDTH_INHERIT		= 0x0,
	CSS_BORDER_WIDTH_THIN			= 0x1,
	CSS_BORDER_WIDTH_MEDIUM			= 0x2,
	CSS_BORDER_WIDTH_THICK			= 0x3,
	CSS_BORDER_WIDTH_WIDTH			= 0x4
};

enum css_bottom_e {
	CSS_BOTTOM_INHERIT			= 0x0,
	CSS_BOTTOM_SET				= 0x1,
	CSS_BOTTOM_AUTO				= 0x2
};

enum css_box_sizing_e {
	CSS_BOX_SIZING_INHERIT			= 0x0,
	CSS_BOX_SIZING_CONTENT_BOX		= 0x1,
	CSS_BOX_SIZING_BORDER_BOX		= 0x2
};

enum css_break_after_e {
	CSS_BREAK_AFTER_INHERIT			= 0x0,
	CSS_BREAK_AFTER_AUTO			= 0x1,
	CSS_BREAK_AFTER_AVOID			= 0x2,
	CSS_BREAK_AFTER_ALWAYS			= 0x3,
	CSS_BREAK_AFTER_LEFT			= 0x4,
	CSS_BREAK_AFTER_RIGHT			= 0x5,
	CSS_BREAK_AFTER_PAGE			= 0x6,
	CSS_BREAK_AFTER_COLUMN			= 0x7,
	CSS_BREAK_AFTER_AVOID_PAGE		= 0x8,
	CSS_BREAK_AFTER_AVOID_COLUMN		= 0x9
};

enum css_break_before_e {
	CSS_BREAK_BEFORE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
	CSS_BREAK_BEFORE_AUTO			= CSS_BREAK_AFTER_AUTO,
	CSS_BREAK_BEFORE_AVOID			= CSS_BREAK_AFTER_AVOID,
	CSS_BREAK_BEFORE_ALWAYS			= CSS_BREAK_AFTER_ALWAYS,
	CSS_BREAK_BEFORE_LEFT			= CSS_BREAK_AFTER_LEFT,
	CSS_BREAK_BEFORE_RIGHT			= CSS_BREAK_AFTER_RIGHT,
	CSS_BREAK_BEFORE_PAGE			= CSS_BREAK_AFTER_PAGE,
	CSS_BREAK_BEFORE_COLUMN			= CSS_BREAK_AFTER_COLUMN,
	CSS_BREAK_BEFORE_AVOID_PAGE		= CSS_BREAK_AFTER_AVOID_PAGE,
	CSS_BREAK_BEFORE_AVOID_COLUMN		= CSS_BREAK_AFTER_AVOID_COLUMN
};

enum css_break_inside_e {
	CSS_BREAK_INSIDE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
	CSS_BREAK_INSIDE_AUTO			= CSS_BREAK_AFTER_AUTO,
	CSS_BREAK_INSIDE_AVOID			= CSS_BREAK_AFTER_AVOID,
	CSS_BREAK_INSIDE_AVOID_PAGE		= CSS_BREAK_AFTER_AVOID_PAGE,
	CSS_BREAK_INSIDE_AVOID_COLUMN		= CSS_BREAK_AFTER_AVOID_COLUMN
};

enum css_caption_side_e {
	CSS_CAPTION_SIDE_INHERIT		= 0x0,
	CSS_CAPTION_SIDE_TOP			= 0x1,
	CSS_CAPTION_SIDE_BOTTOM			= 0x2
};

enum css_clear_e {
	CSS_CLEAR_INHERIT			= 0x0,
	CSS_CLEAR_NONE				= 0x1,
	CSS_CLEAR_LEFT				= 0x2,
	CSS_CLEAR_RIGHT				= 0x3,
	CSS_CLEAR_BOTH				= 0x4
};

enum css_clip_e {
	CSS_CLIP_INHERIT			= 0x0,
	CSS_CLIP_AUTO				= 0x1,
	CSS_CLIP_RECT				= 0x2
};

/* XXX: move to head
enum css_color_e {
	CSS_COLOR_INHERIT			= 0x0,
	CSS_COLOR_DEFAULT			= 0x1,
	CSS_COLOR_COLOR				= 0x2,
	CSS_COLOR_CURRENT_COLOR		= 0x3,
}; */

enum css_column_count_e {
	CSS_COLUMN_COUNT_INHERIT		= 0x0,
	CSS_COLUMN_COUNT_AUTO			= 0x1,
	CSS_COLUMN_COUNT_SET			= 0x2
};

enum css_column_fill_e {
	CSS_COLUMN_FILL_INHERIT			= 0x0,
	CSS_COLUMN_FILL_BALANCE			= 0x1,
	CSS_COLUMN_FILL_AUTO			= 0x2
};

enum css_column_gap_e {
	CSS_COLUMN_GAP_INHERIT			= 0x0,
	CSS_COLUMN_GAP_SET			= 0x1,
	CSS_COLUMN_GAP_NORMAL			= 0x2
};

enum css_column_rule_color_e {
	CSS_COLUMN_RULE_COLOR_INHERIT		= CSS_COLOR_INHERIT,
	CSS_COLUMN_RULE_COLOR_DEFAULT		= CSS_COLOR_DEFAULT,
	CSS_COLUMN_RULE_COLOR_CURRENT_COLOR	= CSS_COLOR_CURRENT_COLOR,
	CSS_COLUMN_RULE_COLOR_COLOR			= CSS_COLOR_COLOR,
};

enum css_column_rule_style_e {
	CSS_COLUMN_RULE_STYLE_INHERIT		= CSS_BORDER_STYLE_INHERIT,
	CSS_COLUMN_RULE_STYLE_NONE		= CSS_BORDER_STYLE_NONE,
	CSS_COLUMN_RULE_STYLE_HIDDEN		= CSS_BORDER_STYLE_HIDDEN,
	CSS_COLUMN_RULE_STYLE_DOTTED		= CSS_BORDER_STYLE_DOTTED,
	CSS_COLUMN_RULE_STYLE_DASHED		= CSS_BORDER_STYLE_DASHED,
	CSS_COLUMN_RULE_STYLE_SOLID		= CSS_BORDER_STYLE_SOLID,
	CSS_COLUMN_RULE_STYLE_DOUBLE		= CSS_BORDER_STYLE_DOUBLE,
	CSS_COLUMN_RULE_STYLE_GROOVE		= CSS_BORDER_STYLE_GROOVE,
	CSS_COLUMN_RULE_STYLE_RIDGE		= CSS_BORDER_STYLE_RIDGE,
	CSS_COLUMN_RULE_STYLE_INSET		= CSS_BORDER_STYLE_INSET,
	CSS_COLUMN_RULE_STYLE_OUTSET		= CSS_BORDER_STYLE_OUTSET
};

enum css_column_rule_width_e {
	CSS_COLUMN_RULE_WIDTH_INHERIT		= CSS_BORDER_WIDTH_INHERIT,
	CSS_COLUMN_RULE_WIDTH_THIN		= CSS_BORDER_WIDTH_THIN,
	CSS_COLUMN_RULE_WIDTH_MEDIUM		= CSS_BORDER_WIDTH_MEDIUM,
	CSS_COLUMN_RULE_WIDTH_THICK		= CSS_BORDER_WIDTH_THICK,
	CSS_COLUMN_RULE_WIDTH_WIDTH		= CSS_BORDER_WIDTH_WIDTH
};

enum css_column_span_e {
	CSS_COLUMN_SPAN_INHERIT			= 0x0,
	CSS_COLUMN_SPAN_NONE			= 0x1,
	CSS_COLUMN_SPAN_ALL			= 0x2
};

enum css_column_width_e {
	CSS_COLUMN_WIDTH_INHERIT		= 0x0,
	CSS_COLUMN_WIDTH_SET			= 0x1,
	CSS_COLUMN_WIDTH_AUTO			= 0x2
};

enum css_content_e {
	CSS_CONTENT_INHERIT			= 0x0,
	CSS_CONTENT_NONE			= 0x1,
	CSS_CONTENT_NORMAL			= 0x2,
	CSS_CONTENT_SET				= 0x3
};

enum css_counter_increment_e {
	CSS_COUNTER_INCREMENT_INHERIT		= 0x0,
	CSS_COUNTER_INCREMENT_NONE		= 0x1,
	/* Consult pointer in struct to determine which */
	CSS_COUNTER_INCREMENT_NAMED		= 0x2,
};

enum css_counter_reset_e {
	CSS_COUNTER_RESET_INHERIT		= 0x0,
	CSS_COUNTER_RESET_NONE			= 0x1,
	/* Consult pointer in struct to determine which */
	CSS_COUNTER_RESET_NAMED			= 0x2,
};

enum css_cursor_e {
	CSS_CURSOR_INHERIT			= 0x00,
	/* URLs exist if pointer is non-NULL */
	CSS_CURSOR_AUTO				= 0x01,
	CSS_CURSOR_CROSSHAIR			= 0x02,
	CSS_CURSOR_DEFAULT			= 0x03,
	CSS_CURSOR_POINTER			= 0x04,
	CSS_CURSOR_MOVE				= 0x05,
	CSS_CURSOR_E_RESIZE			= 0x06,
	CSS_CURSOR_NE_RESIZE			= 0x07,
	CSS_CURSOR_NW_RESIZE			= 0x08,
	CSS_CURSOR_N_RESIZE			= 0x09,
	CSS_CURSOR_SE_RESIZE			= 0x0a,
	CSS_CURSOR_SW_RESIZE			= 0x0b,
	CSS_CURSOR_S_RESIZE			= 0x0c,
	CSS_CURSOR_W_RESIZE			= 0x0d,
	CSS_CURSOR_TEXT				= 0x0e,
	CSS_CURSOR_WAIT				= 0x0f,
	CSS_CURSOR_HELP				= 0x10,
	CSS_CURSOR_PROGRESS			= 0x11
};

enum css_direction_e {
	CSS_DIRECTION_INHERIT			= 0x0,
	CSS_DIRECTION_LTR			= 0x1,
	CSS_DIRECTION_RTL			= 0x2
};

enum css_display_e {
	CSS_DISPLAY_INHERIT			= 0x00,
	CSS_DISPLAY_INLINE			= 0x01,
	CSS_DISPLAY_BLOCK			= 0x02,
	CSS_DISPLAY_LIST_ITEM			= 0x03,
	CSS_DISPLAY_RUN_IN			= 0x04,
	CSS_DISPLAY_INLINE_BLOCK		= 0x05,
	CSS_DISPLAY_TABLE			= 0x06,
	CSS_DISPLAY_INLINE_TABLE		= 0x07,
	CSS_DISPLAY_TABLE_ROW_GROUP		= 0x08,
	CSS_DISPLAY_TABLE_HEADER_GROUP		= 0x09,
	CSS_DISPLAY_TABLE_FOOTER_GROUP		= 0x0a,
	CSS_DISPLAY_TABLE_ROW			= 0x0b,
	CSS_DISPLAY_TABLE_COLUMN_GROUP		= 0x0c,
	CSS_DISPLAY_TABLE_COLUMN		= 0x0d,
	CSS_DISPLAY_TABLE_CELL			= 0x0e,
	CSS_DISPLAY_TABLE_CAPTION		= 0x0f,
	CSS_DISPLAY_NONE			= 0x10,
	CSS_DISPLAY_FLEX			= 0x11,
	CSS_DISPLAY_INLINE_FLEX			= 0x12,
	CSS_DISPLAY_GRID			= 0x13,
	CSS_DISPLAY_INLINE_GRID			= 0x14
};

enum css_empty_cells_e {
	CSS_EMPTY_CELLS_INHERIT			= 0x0,
	CSS_EMPTY_CELLS_SHOW			= 0x1,
	CSS_EMPTY_CELLS_HIDE			= 0x2
};

enum css_flex_basis_e {
	CSS_FLEX_BASIS_INHERIT			= 0x0,
	CSS_FLEX_BASIS_SET			= 0x1,
	CSS_FLEX_BASIS_AUTO			= 0x2,
	CSS_FLEX_BASIS_CONTENT			= 0x3
};

enum css_flex_direction_e {
	CSS_FLEX_DIRECTION_INHERIT		= 0x0,
	CSS_FLEX_DIRECTION_ROW			= 0x1,
	CSS_FLEX_DIRECTION_ROW_REVERSE		= 0x2,
	CSS_FLEX_DIRECTION_COLUMN		= 0x3,
	CSS_FLEX_DIRECTION_COLUMN_REVERSE	= 0x4
};

enum css_flex_grow_e {
	CSS_FLEX_GROW_INHERIT			= 0x0,
	CSS_FLEX_GROW_SET			= 0x1
};

enum css_flex_shrink_e {
	CSS_FLEX_SHRINK_INHERIT			= 0x0,
	CSS_FLEX_SHRINK_SET			= 0x1
};

enum css_flex_wrap_e {
	CSS_FLEX_WRAP_INHERIT			= 0x0,
	CSS_FLEX_WRAP_NOWRAP			= 0x1,
	CSS_FLEX_WRAP_WRAP			= 0x2,
	CSS_FLEX_WRAP_WRAP_REVERSE		= 0x3
};

enum css_float_e {
	CSS_FLOAT_INHERIT			= 0x0,
	CSS_FLOAT_LEFT				= 0x1,
	CSS_FLOAT_RIGHT				= 0x2,
	CSS_FLOAT_NONE				= 0x3
};

enum css_font_family_e {
	CSS_FONT_FAMILY_INHERIT			= 0x0,
	/* Named fonts exist if pointer is non-NULL */
	CSS_FONT_FAMILY_SERIF			= 0x1,
	CSS_FONT_FAMILY_SANS_SERIF		= 0x2,
	CSS_FONT_FAMILY_CURSIVE			= 0x3,
	CSS_FONT_FAMILY_FANTASY			= 0x4,
	CSS_FONT_FAMILY_MONOSPACE		= 0x5
};

enum css_font_size_e {
	CSS_FONT_SIZE_INHERIT			= 0x0,
	CSS_FONT_SIZE_XX_SMALL			= 0x1,
	CSS_FONT_SIZE_X_SMALL			= 0x2,
	CSS_FONT_SIZE_SMALL			= 0x3,
	CSS_FONT_SIZE_MEDIUM			= 0x4,
	CSS_FONT_SIZE_LARGE			= 0x5,
	CSS_FONT_SIZE_X_LARGE			= 0x6,
	CSS_FONT_SIZE_XX_LARGE			= 0x7,
	CSS_FONT_SIZE_LARGER			= 0x8,
	CSS_FONT_SIZE_SMALLER			= 0x9,
	CSS_FONT_SIZE_DIMENSION			= 0xa
};

enum css_font_style_e {
	CSS_FONT_STYLE_INHERIT			= 0x0,
	CSS_FONT_STYLE_NORMAL			= 0x1,
	CSS_FONT_STYLE_ITALIC			= 0x2,
	CSS_FONT_STYLE_OBLIQUE			= 0x3
};

enum css_font_variant_e {
	CSS_FONT_VARIANT_INHERIT		= 0x0,
	CSS_FONT_VARIANT_NORMAL			= 0x1,
	CSS_FONT_VARIANT_SMALL_CAPS		= 0x2
};

enum css_font_weight_e {
	CSS_FONT_WEIGHT_INHERIT			= 0x0,
	CSS_FONT_WEIGHT_NORMAL			= 0x1,
	CSS_FONT_WEIGHT_BOLD			= 0x2,
	CSS_FONT_WEIGHT_BOLDER			= 0x3,
	CSS_FONT_WEIGHT_LIGHTER			= 0x4,
	CSS_FONT_WEIGHT_100			= 0x5,
	CSS_FONT_WEIGHT_200			= 0x6,
	CSS_FONT_WEIGHT_300			= 0x7,
	CSS_FONT_WEIGHT_400			= 0x8,
	CSS_FONT_WEIGHT_500			= 0x9,
	CSS_FONT_WEIGHT_600			= 0xa,
	CSS_FONT_WEIGHT_700			= 0xb,
	CSS_FONT_WEIGHT_800			= 0xc,
	CSS_FONT_WEIGHT_900			= 0xd
};

enum css_height_e {
	CSS_HEIGHT_INHERIT			= 0x0,
	CSS_HEIGHT_SET				= 0x1,
	CSS_HEIGHT_AUTO				= 0x2
};

enum css_justify_content_e {
	CSS_JUSTIFY_CONTENT_INHERIT		= 0x0,
	CSS_JUSTIFY_CONTENT_FLEX_START		= 0x1,
	CSS_JUSTIFY_CONTENT_FLEX_END		= 0x2,
	CSS_JUSTIFY_CONTENT_CENTER		= 0x3,
	CSS_JUSTIFY_CONTENT_SPACE_BETWEEN	= 0x4,
	CSS_JUSTIFY_CONTENT_SPACE_AROUND	= 0x5,
	CSS_JUSTIFY_CONTENT_SPACE_EVENLY	= 0x6
};

enum css_left_e {
	CSS_LEFT_INHERIT			= 0x0,
	CSS_LEFT_SET				= 0x1,
	CSS_LEFT_AUTO				= 0x2
};

enum css_letter_spacing_e {
	CSS_LETTER_SPACING_INHERIT		= CSS_COLUMN_GAP_INHERIT,
	CSS_LETTER_SPACING_SET			= CSS_COLUMN_GAP_SET,
	CSS_LETTER_SPACING_NORMAL		= CSS_COLUMN_GAP_NORMAL
};

enum css_line_height_e {
	CSS_LINE_HEIGHT_INHERIT			= 0x0,
	CSS_LINE_HEIGHT_NUMBER			= 0x1,
	CSS_LINE_HEIGHT_DIMENSION		= 0x2,
	CSS_LINE_HEIGHT_NORMAL			= 0x3
};

enum css_list_style_image_e {
	CSS_LIST_STYLE_IMAGE_INHERIT		= 0x0,
	/* Consult pointer in struct to determine which */
	CSS_LIST_STYLE_IMAGE_URI		= 0x1,
	CSS_LIST_STYLE_IMAGE_NONE		= 0x1
};

enum css_list_style_position_e {
	CSS_LIST_STYLE_POSITION_INHERIT		= 0x0,
	CSS_LIST_STYLE_POSITION_INSIDE		= 0x1,
	CSS_LIST_STYLE_POSITION_OUTSIDE		= 0x2
};

enum css_list_style_type_e {
	CSS_LIST_STYLE_TYPE_INHERIT		= 0x0,
	CSS_LIST_STYLE_TYPE_DISC		= 0x1,
	CSS_LIST_STYLE_TYPE_CIRCLE		= 0x2,
	CSS_LIST_STYLE_TYPE_SQUARE		= 0x3,
	CSS_LIST_STYLE_TYPE_DECIMAL		= 0x4,
	CSS_LIST_STYLE_TYPE_DECIMAL_LEADING_ZERO= 0x5,
	CSS_LIST_STYLE_TYPE_LOWER_ROMAN		= 0x6,
	CSS_LIST_STYLE_TYPE_UPPER_ROMAN		= 0x7,
	CSS_LIST_STYLE_TYPE_LOWER_GREEK		= 0x8,
	CSS_LIST_STYLE_TYPE_LOWER_LATIN		= 0x9,
	CSS_LIST_STYLE_TYPE_UPPER_LATIN		= 0xa,
	CSS_LIST_STYLE_TYPE_ARMENIAN		= 0xb,
	CSS_LIST_STYLE_TYPE_GEORGIAN		= 0xc,
	CSS_LIST_STYLE_TYPE_LOWER_ALPHA		= 0xd,
	CSS_LIST_STYLE_TYPE_UPPER_ALPHA		= 0xe,
	CSS_LIST_STYLE_TYPE_UPPER_ARMENIAN	= 0x0f,
	CSS_LIST_STYLE_TYPE_LOWER_ARMENIAN	= 0x10,
	CSS_LIST_STYLE_TYPE_CJK_DECIMAL	= 0x11,
	CSS_LIST_STYLE_TYPE_TIBETAN		= 0x12,
	CSS_LIST_STYLE_TYPE_NONE		= 0x13,
};

enum css_margin_e {
	CSS_MARGIN_INHERIT			= 0x0,
	CSS_MARGIN_SET				= 0x1,
	CSS_MARGIN_AUTO				= 0x2
};

enum css_max_height_e {
	CSS_MAX_HEIGHT_INHERIT			= 0x0,
	CSS_MAX_HEIGHT_SET			= 0x1,
	CSS_MAX_HEIGHT_NONE			= 0x2
};

enum css_max_width_e {
	CSS_MAX_WIDTH_INHERIT			= 0x0,
	CSS_MAX_WIDTH_SET			= 0x1,
	CSS_MAX_WIDTH_NONE			= 0x2
};

enum css_min_height_e {
	CSS_MIN_HEIGHT_INHERIT			= 0x0,
	CSS_MIN_HEIGHT_SET			= 0x1,
	CSS_MIN_HEIGHT_AUTO			= 0x2
};

enum css_min_width_e {
	CSS_MIN_WIDTH_INHERIT			= 0x0,
	CSS_MIN_WIDTH_SET			= 0x1,
	CSS_MIN_WIDTH_AUTO			= 0x2
};

enum css_opacity_e {
	CSS_OPACITY_INHERIT			= 0x0,
	CSS_OPACITY_SET				= 0x1
};

enum css_order_e {
	CSS_ORDER_INHERIT			= 0x0,
	CSS_ORDER_SET				= 0x1
};

enum css_outline_color_e {
	CSS_OUTLINE_COLOR_INHERIT		= CSS_COLOR_INHERIT,
	CSS_OUTLINE_COLOR_DEFAULT		= CSS_COLOR_DEFAULT,
	CSS_OUTLINE_COLOR_CURRENT_COLOR	= CSS_COLOR_CURRENT_COLOR,
	CSS_OUTLINE_COLOR_COLOR			= CSS_COLOR_COLOR,
	CSS_OUTLINE_COLOR_INVERT		= CSS_COLOR_COLOR + 1,
};

enum css_outline_style_e {
	CSS_OUTLINE_STYLE_INHERIT		= CSS_BORDER_STYLE_INHERIT,
	CSS_OUTLINE_STYLE_NONE			= CSS_BORDER_STYLE_NONE,
	CSS_OUTLINE_STYLE_DOTTED		= CSS_BORDER_STYLE_DOTTED,
	CSS_OUTLINE_STYLE_DASHED		= CSS_BORDER_STYLE_DASHED,
	CSS_OUTLINE_STYLE_SOLID			= CSS_BORDER_STYLE_SOLID,
	CSS_OUTLINE_STYLE_DOUBLE		= CSS_BORDER_STYLE_DOUBLE,
	CSS_OUTLINE_STYLE_GROOVE		= CSS_BORDER_STYLE_GROOVE,
	CSS_OUTLINE_STYLE_RIDGE			= CSS_BORDER_STYLE_RIDGE,
	CSS_OUTLINE_STYLE_INSET			= CSS_BORDER_STYLE_INSET,
	CSS_OUTLINE_STYLE_OUTSET		= CSS_BORDER_STYLE_OUTSET
};

enum css_outline_width_e {
	CSS_OUTLINE_WIDTH_INHERIT		= CSS_BORDER_WIDTH_INHERIT,
	CSS_OUTLINE_WIDTH_THIN			= CSS_BORDER_WIDTH_THIN,
	CSS_OUTLINE_WIDTH_MEDIUM		= CSS_BORDER_WIDTH_MEDIUM,
	CSS_OUTLINE_WIDTH_THICK			= CSS_BORDER_WIDTH_THICK,
	CSS_OUTLINE_WIDTH_WIDTH			= CSS_BORDER_WIDTH_WIDTH
};

enum css_overflow_e {
	CSS_OVERFLOW_INHERIT			= 0x0,
	CSS_OVERFLOW_VISIBLE			= 0x1,
	CSS_OVERFLOW_HIDDEN			= 0x2,
	CSS_OVERFLOW_SCROLL			= 0x3,
	CSS_OVERFLOW_AUTO			= 0x4
};

enum css_orphans_e {
	CSS_ORPHANS_INHERIT			= 0x0,
	CSS_ORPHANS_SET				= 0x1
};

enum css_padding_e {
	CSS_PADDING_INHERIT			= 0x0,
	CSS_PADDING_SET				= 0x1
};

enum css_page_break_after_e {
	CSS_PAGE_BREAK_AFTER_INHERIT		= CSS_BREAK_AFTER_INHERIT,
	CSS_PAGE_BREAK_AFTER_AUTO		= CSS_BREAK_AFTER_AUTO,
	CSS_PAGE_BREAK_AFTER_AVOID		= CSS_BREAK_AFTER_AVOID,
	CSS_PAGE_BREAK_AFTER_ALWAYS		= CSS_BREAK_AFTER_ALWAYS,
	CSS_PAGE_BREAK_AFTER_LEFT		= CSS_BREAK_AFTER_LEFT,
	CSS_PAGE_BREAK_AFTER_RIGHT		= CSS_BREAK_AFTER_RIGHT
};

enum css_page_break_before_e {
	CSS_PAGE_BREAK_BEFORE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
	CSS_PAGE_BREAK_BEFORE_AUTO		= CSS_BREAK_AFTER_AUTO,
	CSS_PAGE_BREAK_BEFORE_AVOID		= CSS_BREAK_AFTER_AVOID,
	CSS_PAGE_BREAK_BEFORE_ALWAYS		= CSS_BREAK_AFTER_ALWAYS,
	CSS_PAGE_BREAK_BEFORE_LEFT		= CSS_BREAK_AFTER_LEFT,
	CSS_PAGE_BREAK_BEFORE_RIGHT		= CSS_BREAK_AFTER_RIGHT
};

enum css_page_break_inside_e {
	CSS_PAGE_BREAK_INSIDE_INHERIT		= CSS_BREAK_AFTER_INHERIT,
	CSS_PAGE_BREAK_INSIDE_AUTO		= CSS_BREAK_AFTER_AUTO,
	CSS_PAGE_BREAK_INSIDE_AVOID		= CSS_BREAK_AFTER_AVOID
};

enum css_position_e {
	CSS_POSITION_INHERIT			= 0x0,
	CSS_POSITION_STATIC			= 0x1,
	CSS_POSITION_RELATIVE			= 0x2,
	CSS_POSITION_ABSOLUTE			= 0x3,
	CSS_POSITION_FIXED			= 0x4
};

enum css_quotes_e {
	CSS_QUOTES_INHERIT			= 0x0,
	/* Consult pointer in struct to determine which */
	CSS_QUOTES_STRING			= 0x1,
	CSS_QUOTES_NONE				= 0x2,
};

enum css_right_e {
	CSS_RIGHT_INHERIT			= 0x0,
	CSS_RIGHT_SET				= 0x1,
	CSS_RIGHT_AUTO				= 0x2
};

enum css_table_layout_e {
	CSS_TABLE_LAYOUT_INHERIT		= 0x0,
	CSS_TABLE_LAYOUT_AUTO			= 0x1,
	CSS_TABLE_LAYOUT_FIXED			= 0x2
};

enum css_text_align_e {
	CSS_TEXT_ALIGN_INHERIT			= 0x0,
	CSS_TEXT_ALIGN_INHERIT_IF_NON_MAGIC	= 0x1,
	CSS_TEXT_ALIGN_LEFT			= 0x2,
	CSS_TEXT_ALIGN_RIGHT			= 0x3,
	CSS_TEXT_ALIGN_CENTER			= 0x4,
	CSS_TEXT_ALIGN_JUSTIFY			= 0x5,
	CSS_TEXT_ALIGN_DEFAULT			= 0x6,
	CSS_TEXT_ALIGN_LIBCSS_LEFT		= 0x7,
	CSS_TEXT_ALIGN_LIBCSS_CENTER		= 0x8,
	CSS_TEXT_ALIGN_LIBCSS_RIGHT		= 0x9
};

enum css_text_decoration_e {
	CSS_TEXT_DECORATION_INHERIT		= 0x00,
	CSS_TEXT_DECORATION_NONE		= 0x10,
	CSS_TEXT_DECORATION_BLINK		= (1<<3),
	CSS_TEXT_DECORATION_LINE_THROUGH	= (1<<2),
	CSS_TEXT_DECORATION_OVERLINE		= (1<<1),
	CSS_TEXT_DECORATION_UNDERLINE		= (1<<0)
};

enum css_text_indent_e {
	CSS_TEXT_INDENT_INHERIT			= 0x0,
	CSS_TEXT_INDENT_SET			= 0x1
};

enum css_text_transform_e {
	CSS_TEXT_TRANSFORM_INHERIT		= 0x0,
	CSS_TEXT_TRANSFORM_CAPITALIZE		= 0x1,
	CSS_TEXT_TRANSFORM_UPPERCASE		= 0x2,
	CSS_TEXT_TRANSFORM_LOWERCASE		= 0x3,
	CSS_TEXT_TRANSFORM_NONE			= 0x4
};

enum css_top_e {
	CSS_TOP_INHERIT				= 0x0,
	CSS_TOP_SET				= 0x1,
	CSS_TOP_AUTO				= 0x2
};

enum css_unicode_bidi_e {
	CSS_UNICODE_BIDI_INHERIT		= 0x0,
	CSS_UNICODE_BIDI_NORMAL			= 0x1,
	CSS_UNICODE_BIDI_EMBED			= 0x2,
	CSS_UNICODE_BIDI_BIDI_OVERRIDE		= 0x3,
    CSS_UNICODE_BIDI_ISOLATE            = 0x4,
    CSS_UNICODE_BIDI_ISOLATE_OVERRIDE   = 0x5,
    CSS_UNICODE_BIDI_PLAINTEXT          = 0x6
};

enum css_vertical_align_e {
	CSS_VERTICAL_ALIGN_INHERIT		= 0x0,
	CSS_VERTICAL_ALIGN_BASELINE		= 0x1,
	CSS_VERTICAL_ALIGN_SUB			= 0x2,
	CSS_VERTICAL_ALIGN_SUPER		= 0x3,
	CSS_VERTICAL_ALIGN_TOP			= 0x4,
	CSS_VERTICAL_ALIGN_TEXT_TOP		= 0x5,
	CSS_VERTICAL_ALIGN_MIDDLE		= 0x6,
	CSS_VERTICAL_ALIGN_BOTTOM		= 0x7,
	CSS_VERTICAL_ALIGN_TEXT_BOTTOM		= 0x8,
	CSS_VERTICAL_ALIGN_SET			= 0x9
};

enum css_visibility_e {
	CSS_VISIBILITY_INHERIT			= 0x0,
	CSS_VISIBILITY_VISIBLE			= 0x1,
	CSS_VISIBILITY_HIDDEN			= 0x2,
	CSS_VISIBILITY_COLLAPSE			= 0x3
};

enum css_white_space_e {
	CSS_WHITE_SPACE_INHERIT			= 0x0,
	CSS_WHITE_SPACE_NORMAL			= 0x1,
	CSS_WHITE_SPACE_PRE				= 0x2,
	CSS_WHITE_SPACE_NOWRAP			= 0x3,
	CSS_WHITE_SPACE_PRE_WRAP		= 0x4,
	CSS_WHITE_SPACE_PRE_LINE		= 0x5,
	CSS_WHITE_SPACE_BREAK_SPACES	= 0x6,
};

enum css_widows_e {
	CSS_WIDOWS_INHERIT			= 0x0,
	CSS_WIDOWS_SET				= 0x1
};

enum css_width_e {
	CSS_WIDTH_INHERIT			= 0x0,
	CSS_WIDTH_SET				= 0x1,
	CSS_WIDTH_AUTO				= 0x2
};

enum css_word_spacing_e {
	CSS_WORD_SPACING_INHERIT		= CSS_COLUMN_GAP_INHERIT,
	CSS_WORD_SPACING_SET			= CSS_COLUMN_GAP_SET,
	CSS_WORD_SPACING_NORMAL			= CSS_COLUMN_GAP_NORMAL
};

enum css_writing_mode_e {
	CSS_WRITING_MODE_INHERIT		= 0x0,
	CSS_WRITING_MODE_HORIZONTAL_TB		= 0x1,
	CSS_WRITING_MODE_VERTICAL_RL		= 0x2,
	CSS_WRITING_MODE_VERTICAL_LR		= 0x3
};

enum css_z_index_e {
	CSS_Z_INDEX_INHERIT			= 0x0,
	CSS_Z_INDEX_SET				= 0x1,
	CSS_Z_INDEX_AUTO			= 0x2
};

enum css_grid_template_columns_e {
	CSS_GRID_TEMPLATE_COLUMNS_INHERIT			= 0x0,
	CSS_GRID_TEMPLATE_COLUMNS_SET				= 0x1,
	CSS_GRID_TEMPLATE_COLUMNS_AUTO				= 0x2
};

enum css_grid_template_rows_e {
	CSS_GRID_TEMPLATE_ROWS_INHERIT			= 0x0,
	CSS_GRID_TEMPLATE_ROWS_SET				= 0x1,
	CSS_GRID_TEMPLATE_ROWS_AUTO				= 0x2
};

enum css_grid_column_start_e {
	CSS_GRID_COLUMN_START_INHERIT			= 0x0,
	CSS_GRID_COLUMN_START_SET				= 0x1,
	CSS_GRID_COLUMN_START_AUTO				= 0x2
};

enum css_grid_column_end_e {
	CSS_GRID_COLUMN_END_INHERIT			= 0x0,
	CSS_GRID_COLUMN_END_SET				= 0x1,
	CSS_GRID_COLUMN_END_AUTO			= 0x2
};

enum css_grid_row_start_e {
	CSS_GRID_ROW_START_INHERIT			= 0x0,
	CSS_GRID_ROW_START_SET				= 0x1,
	CSS_GRID_ROW_START_AUTO				= 0x2
};

enum css_grid_row_end_e {
	CSS_GRID_ROW_END_INHERIT			= 0x0,
	CSS_GRID_ROW_END_SET				= 0x1,
	CSS_GRID_ROW_END_AUTO				= 0x2
};

enum css_border_top_left_radius_e {
    CSS_BORDER_TOP_LEFT_RADIUS_INHERIT        = 0x0,
    CSS_BORDER_TOP_LEFT_RADIUS_SET            = 0x1,
    CSS_BORDER_TOP_LEFT_RADIUS_AUTO           = 0x2
};

enum css_border_top_right_radius_e {
    CSS_BORDER_TOP_RIGHT_RADIUS_INHERIT        = 0x0,
    CSS_BORDER_TOP_RIGHT_RADIUS_SET            = 0x1,
    CSS_BORDER_TOP_RIGHT_RADIUS_AUTO           = 0x2
};

enum css_border_bottom_left_radius_e {
    CSS_BORDER_BOTTOM_LEFT_RADIUS_INHERIT        = 0x0,
    CSS_BORDER_BOTTOM_LEFT_RADIUS_SET            = 0x1,
    CSS_BORDER_BOTTOM_LEFT_RADIUS_AUTO           = 0x2
};

enum css_border_bottom_right_radius_e {
    CSS_BORDER_BOTTOM_RIGHT_RADIUS_INHERIT        = 0x0,
    CSS_BORDER_BOTTOM_RIGHT_RADIUS_SET            = 0x1,
    CSS_BORDER_BOTTOM_RIGHT_RADIUS_AUTO           = 0x2
};

enum css_text_align_last_e {
    CSS_TEXT_ALIGN_LAST_INHERIT        = 0x0,
    CSS_TEXT_ALIGN_LAST_AUTO           = 0x1,
    CSS_TEXT_ALIGN_LAST_LEFT           = 0x2,
    CSS_TEXT_ALIGN_LAST_RIGHT          = 0x3,
    CSS_TEXT_ALIGN_LAST_CENTER         = 0x4,
    CSS_TEXT_ALIGN_LAST_JUSTIFY        = 0x5,
    CSS_TEXT_ALIGN_LAST_START          = 0x6,
    CSS_TEXT_ALIGN_LAST_END            = 0x6
};

enum css_text_justify_e {
    CSS_TEXT_JUSTIFY_INHERIT          = 0x0,
    CSS_TEXT_JUSTIFY_AUTO             = 0x1,
    CSS_TEXT_JUSTIFY_NONE             = 0x2,
    CSS_TEXT_JUSTIFY_INTER_WORD       = 0x3,
    CSS_TEXT_JUSTIFY_INTER_IDEOGRAPH  = 0x4,
    CSS_TEXT_JUSTIFY_INTER_CLUSTER    = 0x5,
    CSS_TEXT_JUSTIFY_DISTRIBUTE       = 0x6,
    CSS_TEXT_JUSTIFY_KASHIDA          = 0x7
};

enum css_text_overflow_e {
    CSS_TEXT_OVERFLOW_INHERIT     = 0x0,
    CSS_TEXT_OVERFLOW_CLIP        = 0x1,
    CSS_TEXT_OVERFLOW_ELLIPSIS    = 0x2,
    CSS_TEXT_OVERFLOW_STRING      = 0x3
};

enum css_text_shadow_e {
    CSS_TEXT_SHADOW_INHERIT     = 0x0,
    CSS_TEXT_SHADOW_NONE        = 0x10,
    CSS_TEXT_SHADOW_H           = (1<<0),
    CSS_TEXT_SHADOW_V           = (1<<1),
    CSS_TEXT_SHADOW_BLUR        = (1<<2),
    CSS_TEXT_SHADOW_COLOR       = (1<<3)
};

enum css_word_break_e {
    CSS_WORD_BREAK_INHERIT        = 0x0,
    CSS_WORD_BREAK_NORMAL         = 0x1,
    CSS_WORD_BREAK_BREAK_ALL      = 0x2,
    CSS_WORD_BREAK_KEEP_ALL       = 0x3,
    CSS_WORD_BREAK_BREAK_WORD     = 0x4,
};

enum css_line_break_e {
    CSS_LINE_BREAK_INHERIT        = 0x0,
    CSS_LINE_BREAK_AUTO           = 0x1,
    CSS_LINE_BREAK_LOOSE          = 0x2,
    CSS_LINE_BREAK_NORMAL         = 0x3,
    CSS_LINE_BREAK_STRICT         = 0x4,
    CSS_LINE_BREAK_ANYWHERE       = 0x5,
};

enum css_word_wrap_e {
    CSS_WORD_WRAP_INHERIT        = 0x0,
    CSS_WORD_WRAP_NORMAL         = 0x1,
    CSS_WORD_WRAP_BREAK_WORD     = 0x2,
    CSS_WORD_WRAP_ANYWHERE       = 0x3
};

enum css_baseline_shift_e {
    CSS_BASELINE_SHIFT_INHERIT        = 0x0,
    CSS_BASELINE_SHIFT_BASELINE       = 0x1,
    CSS_BASELINE_SHIFT_SUB            = 0x2,
    CSS_BASELINE_SHIFT_SUPER          = 0x3
};

enum css_clip_path_e {
    CSS_CLIP_PATH_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_CLIP_PATH_URI            = 0x1,
    CSS_CLIP_PATH_NONE           = 0x1
};

enum css_clip_rule_e {
    CSS_CLIP_RULE_INHERIT        = 0x0,
    CSS_CLIP_RULE_NONZERO        = 0x1,
    CSS_CLIP_RULE_EVENODD        = 0x2
};

enum css_comp_op_e {
    CSS_COMP_OP_INHERIT     = 0x0,
    CSS_COMP_OP_CLEAR       = 0x1,
    CSS_COMP_OP_SRC         = 0x2,
    CSS_COMP_OP_DST         = 0x3,
    CSS_COMP_OP_SRC_OVER    = 0x4,
    CSS_COMP_OP_DST_OVER    = 0x5,
    CSS_COMP_OP_SRC_IN      = 0x6,
    CSS_COMP_OP_DST_IN      = 0x7,
    CSS_COMP_OP_SRC_OUT     = 0x8,
    CSS_COMP_OP_DST_OUT     = 0x9,
    CSS_COMP_OP_SRC_ATOP    = 0xa,
    CSS_COMP_OP_DST_ATOP    = 0xb,
    CSS_COMP_OP_XOR         = 0xc,
    CSS_COMP_OP_PLUS        = 0xd,
    CSS_COMP_OP_MULTIPLY    = 0xe,
    CSS_COMP_OP_SCREEN      = 0xf,
    CSS_COMP_OP_OVERLAY     = 0x10,
    CSS_COMP_OP_DARKEN      = 0x11,
    CSS_COMP_OP_LIGHTEN     = 0x12,
    CSS_COMP_OP_COLOR_DODGE = 0x13,
    CSS_COMP_OP_COLOR_BURN  = 0x14,
    CSS_COMP_OP_HARD_LIGHT  = 0x15,
    CSS_COMP_OP_SOFT_LIGHT  = 0x16,
    CSS_COMP_OP_DIFFERENCE  = 0x17,
    CSS_COMP_OP_EXCLUSION   = 0x18
};

enum css_enable_background_e {
    CSS_ENABLE_BACKGROUND_INHERIT     = 0x0,
    CSS_ENABLE_BACKGROUND_ACCUMULATE  = 0x1,
    CSS_ENABLE_BACKGROUND_NEW         = 0x2
};

enum css_fill_e {
    CSS_FILL_INHERIT        = 0x0,
    CSS_FILL_NONE           = 0x1,
    CSS_FILL_URI            = 0x2,
    CSS_FILL_CURRENT_COLOR  = 0x3,
    CSS_FILL_SET_COLOR      = 0x4,
    CSS_FILL_NOT_SET        = 0x5
};

enum css_fill_opacity_e {
    CSS_FILL_OPACITY_INHERIT        = 0x0,
    CSS_FILL_OPACITY_SET            = 0x1,
};

enum css_fill_rule_e {
    CSS_FILL_RULE_INHERIT     = 0x0,
    CSS_FILL_RULE_NONZERO     = 0x1,
    CSS_FILL_RULE_EVENODD     = 0x2
};

enum css_filter_e {
    CSS_FILTER_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_FILTER_URI            = 0x1,
    CSS_FILTER_NONE           = 0x1
};

enum css_flood_color_e {
    CSS_FLOOD_COLOR_INHERIT         = 0x0,
    CSS_FLOOD_COLOR_COLOR           = 0x1
};

enum css_flood_opacity_e {
    CSS_FLOOD_OPACITY_INHERIT        = 0x0,
    CSS_FLOOD_OPACITY_SET            = 0x1,
};

enum css_font_stretch_e {
    CSS_FONT_STRETCH_INHERIT           = 0x0,
    CSS_FONT_STRETCH_NORMAL            = 0x1,
    CSS_FONT_STRETCH_WIDER             = 0x2,
    CSS_FONT_STRETCH_NARROWER          = 0x3,
    CSS_FONT_STRETCH_ULTRA_CONDENSED   = 0x4,
    CSS_FONT_STRETCH_EXTRA_CONDENSED   = 0x5,
    CSS_FONT_STRETCH_CONDENSED         = 0x6,
    CSS_FONT_STRETCH_SEMI_CONDENSED    = 0x7,
    CSS_FONT_STRETCH_SEMI_EXPANDED     = 0x8,
    CSS_FONT_STRETCH_EXPANDED          = 0x9,
    CSS_FONT_STRETCH_EXTRA_EXPANDED    = 0xa,
    CSS_FONT_STRETCH_ULTRA_EXPANDED    = 0xb 
};

enum css_marker_start_e {
    CSS_MARKER_START_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_MARKER_START_URI            = 0x1,
    CSS_MARKER_START_NONE           = 0x1
};

enum css_marker_mid_e {
    CSS_MARKER_MID_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_MARKER_MID_URI          = 0x1,
    CSS_MARKER_MID_NONE         = 0x1
};

enum css_marker_end_e {
    CSS_MARKER_END_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_MARKER_END_URI          = 0x1,
    CSS_MARKER_END_NONE         = 0x1
};

enum css_mask_e {
    CSS_MASK_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_MASK_URI            = 0x1,
    CSS_MASK_NONE           = 0x1
};

enum css_shape_rendering_e {
    CSS_SHAPE_RENDERING_INHERIT            = 0x0,
    CSS_SHAPE_RENDERING_AUTO               = 0x1,
    CSS_SHAPE_RENDERING_OPTIMIZESPEED      = 0x2,
    CSS_SHAPE_RENDERING_CRISPEDGES         = 0x3,
    CSS_SHAPE_RENDERING_GEOMETRICPRECISION = 0x4,
    CSS_SHAPE_RENDERING_DEFAULT            = 0x5
};

enum css_stop_color_e {
    CSS_STOP_COLOR_INHERIT         = 0x0,
    CSS_STOP_COLOR_COLOR           = 0x1
};

enum css_stop_opacity_e {
    CSS_STOP_OPACITY_INHERIT        = 0x0,
    CSS_STOP_OPACITY_SET            = 0x1,
};

enum css_stroke_e {
    CSS_STROKE_INHERIT          = 0x0,
    CSS_STROKE_NONE             = 0x1,
    CSS_STROKE_URI              = 0x2,
    CSS_STROKE_CURRENT_COLOR    = 0x3,
    CSS_STROKE_SET_COLOR        = 0x4,
    CSS_STROKE_NOT_SET          = 0x5
};

enum css_stroke_width_e {
    CSS_STROKE_WIDTH_INHERIT        = 0x0,
    CSS_STROKE_WIDTH_SET            = 0x1,
    CSS_STROKE_WIDTH_AUTO           = 0x2
};

enum css_stroke_opacity_e {
    CSS_STROKE_OPACITY_INHERIT        = 0x0,
    CSS_STROKE_OPACITY_SET            = 0x1,
};

enum css_stroke_dasharray_e {
    CSS_STROKE_DASHARRAY_INHERIT        = 0x0,
    CSS_STROKE_DASHARRAY_SET            = 0x1,
    CSS_STROKE_DASHARRAY_NONE           = 0x2,
    CSS_STROKE_DASHARRAY_END            = 0x3
};

enum css_stroke_dashoffset_e {
    CSS_STROKE_DASHOFFSET_INHERIT        = 0x0,
    CSS_STROKE_DASHOFFSET_SET            = 0x1,
    CSS_STROKE_DASHOFFSET_AUTO           = 0x2
};

enum css_stroke_linecap_e {
    CSS_STROKE_LINECAP_INHERIT     = 0x0,
    CSS_STROKE_LINECAP_BUTT        = 0x1,
    CSS_STROKE_LINECAP_ROUND       = 0x2,
    CSS_STROKE_LINECAP_SQUARE      = 0x3
};

enum css_stroke_linejoin_e {
    CSS_STROKE_LINEJOIN_INHERIT    = 0x0,
    CSS_STROKE_LINEJOIN_MITER      = 0x1,
    CSS_STROKE_LINEJOIN_ROUND      = 0x2,
    CSS_STROKE_LINEJOIN_BEVEL      = 0x3
};

enum css_stroke_miterlimit_e {
    CSS_STROKE_MITERLIMIT_INHERIT        = 0x0,
    CSS_STROKE_MITERLIMIT_SET            = 0x1,
    CSS_STROKE_MITERLIMIT_AUTO           = 0x2
};

enum css_text_anchor_e {
    CSS_TEXT_ANCHOR_INHERIT     = 0x0,
    CSS_TEXT_ANCHOR_START       = 0x1,
    CSS_TEXT_ANCHOR_MIDDLE      = 0x2,
    CSS_TEXT_ANCHOR_END         = 0x3
};

enum css_text_rendering_e {
    CSS_TEXT_RENDERING_INHERIT              = 0x0,
    CSS_TEXT_RENDERING_AUTO                 = 0x1,
    CSS_TEXT_RENDERING_OPTIMIZESPEED        = 0x2,
    CSS_TEXT_RENDERING_GEOMETRICPRECISION   = 0x3,
    CSS_TEXT_RENDERING_OPTIMIZELEGIBILITY   = 0x4,
    CSS_TEXT_RENDERING_DEFAULT              = 0x5
};

enum css_transform_e {
    CSS_TRANSFORM_INHERIT        = 0x0,
    /* Consult pointer in struct to determine which */
    CSS_TRANSFORM_URI            = 0x1,
    CSS_TRANSFORM_NONE           = 0x1
};


enum css_appearance_e {
    CSS_APPEARANCE_INHERIT                  = 0x0000,
    CSS_APPEARANCE_NONE,
    CSS_APPEARANCE_AUTO,
    CSS_APPEARANCE_MENULIST,
    CSS_APPEARANCE_MENULIST_BUTTON,
    CSS_APPEARANCE_TEXTFIELD,
    CSS_APPEARANCE_TEXTAREA,
    CSS_APPEARANCE_PROGRESS_BAR,
    CSS_APPEARANCE_PROGRESS_BKGND,
    CSS_APPEARANCE_PROGRESS_MARK,
    CSS_APPEARANCE_METER,
    CSS_APPEARANCE_METER_BAR,
    CSS_APPEARANCE_METER_BKGND,
    CSS_APPEARANCE_METER_MARK,
    CSS_APPEARANCE_SLIDER_HORIZONTAL,
    CSS_APPEARANCE_SLIDER_VERTICAL,
    CSS_APPEARANCE_BUTTON,
    CSS_APPEARANCE_CHECKBOX,
    CSS_APPEARANCE_LISTBOX,
    CSS_APPEARANCE_RADIO,
    CSS_APPEARANCE_SEARCHFIELD,
    CSS_APPEARANCE_PUSH_BUTTON,
    CSS_APPEARANCE_SQUARE_BUTTON,
};

enum css_foil_candidate_marks_e {
    CSS_FOIL_CANDIDATE_MARKS_INHERIT = 0x0,
    CSS_FOIL_CANDIDATE_MARKS_AUTO,
    CSS_FOIL_CANDIDATE_MARKS_SET,
};

enum css_background_size_e {
    CSS_BACKGROUND_SIZE_INHERIT     = 0x0,
    CSS_BACKGROUND_SIZE_CONTAIN     = 0x1,
    CSS_BACKGROUND_SIZE_COVER       = 0x2,
    CSS_BACKGROUND_SIZE_AUTO        = 0x3,
    CSS_BACKGROUND_SIZE_SET_WIDTH   = 0x4,
    CSS_BACKGROUND_SIZE_SET_HEIGHT  = 0x5,
    CSS_BACKGROUND_SIZE_SET_SIZE    = 0x6,
};

#ifdef __cplusplus
}
#endif

#endif
